zaporna hodnota od TObject - Combobox

Otázka od: bleak

21. 10. 2002 19:12

zdravim,
nevim jak ulozit do TObject zapornou hodnotu, tedy ulozit tam jde, ale pri
pokusu o cteni dojde k chybe, viz nize. Jak to spravne provest?
bleak

combobox.items.clear;
combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)
//combobox.Items.AddObject(Polozka1',
TObject(-10));//tohle tak nejde

Odpovedá: Robert Suska

21. 10. 2002 19:38

ahoj

to tu uz bolo preberane a mam taky dojem ze p. Vones to povedal ak to nie je
pravda tak sorry, ale ze zaporne hodnoty sa ukladat takto nedaju

Robo

> zdravim,
> nevim jak ulozit do TObject zapornou hodnotu, tedy ulozit tam jde, ale pri
> pokusu o cteni dojde k chybe, viz nize. Jak to spravne provest?
> bleak
>
> combobox.items.clear;
>
combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
> i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)
>
> //combobox.Items.AddObject(Polozka1',
TObject(-10));//tohle tak nejde
>

Odpovedá: Petr Vones

22. 10. 2002 1:27

From: "bleak" <bleak@mvesely.com>
> combobox.items.clear;
> combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
> i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)
Tohle by melo jit (alespon v Delphi 7 to jde), jedine co nejde je -1, protoze
je to zaroven hodnota konstanty CB_ERR, ktera jako navratova hodnota ze zpravy
CB_GETITEMDATA oznacuje chybu, viz TCustomComboBoxStrings.GetObject. Slo by to
samozrejme upravit tak aby jsi mohl ulozit i -1 a to odvozenim nove komponenty
od TComboBox. Lepsi by ale bylo misto hodnoty ukladat objekt, ktery bude mit
pak danou hodnotu jako vlastnost.
Petr Vones

Odpovedá: Ben, Martin (CAP, GCF)

22. 10. 2002 7:04

S timto zpusobem pouziti jsem mel problemy taky. Ted to delam takto a je po
problemech:

const
  c_None = -10;
var
  vID: Integer;
begin
  ComboBox1.Items.Clear;
  ComboBox1.Items.AddObject('Polozka 1',Pointer(c_None));
  vID := Integer(ComboBox1.Items.Objects[0]);
end;

Samozrejme ze nepouzivam -1.

Martin Ben

PS: V D5Ent jsem tvuj kod vyzkousel a s chybami jsem se nesetkal.

> -----Original Message-----
> From: bleak [mailto:bleak@mvesely.com]
> Sent: Monday, October 21, 2002 8:06 PM
> To: delphi-l@clexpert.cz
> Subject: zaporna hodnota od TObject - Combobox
>
>
> zdravim,
> nevim jak ulozit do TObject zapornou hodnotu, tedy ulozit tam
> jde, ale pri
> pokusu o cteni dojde k chybe, viz nize. Jak to spravne provest?
> bleak
>
> combobox.items.clear;
>
combobox.Items.AddObject(Polozka1', TObject(Integer(-10)));
> i:=Integer(combobox.Items.Objects[0]); //List index out of bounds (1)
>
> //combobox.Items.AddObject(Polozka1',
TObject(-10));//tohle tak nejde
>
>